package cc.rengu.igas.share.common.enums;

/**
 * 科目/账号标识
 *
 * @author Administrator
 * @version 1.0
 * @date 2019/10/15
 */
public enum SettleAcctTypeEnum {
    STAY_SETTLE_FUND("STAY_SETTLE_FUND", "待清算款"),
    PAYABLE_MCHNT_FUND("PAYABLE_MCHNT_FUND", "应付商户款"),
    COST_PAY_FUND("COST_PAY_FUND", "费用支出"),
    COST_REVENUE_FUND("COST_REVENUE_FUND", "费用收入"),
    FEE_PAY_FUND("FEE_PAY_FUND", "手续费支出"),
    FEE_REVENUE_FUND("FEE_REVENUE_FUND", "手续费收入"),
    CUPS_STAY_SETTLE_FUND("CUPS_STAY_SETTLE_FUND", "银联待清算款"),
    NUCC_STAY_SETTLE_FUND("NUCC_STAY_SETTLE_FUND", "网联待清算款"),
    CUPS_WECHAT_STAY_SETTLE_FUND("CUPS_WECHAT_STAY_SETTLE_FUND", "银联待清算款（微信业务）"),
    CUPS_ALIPAY_STAY_SETTLE_FUND("CUPS_ALIPAY_STAY_SETTLE_FUND", "银联待清算款（支付宝业务）"),
    NUCC_WECHAT_STAY_SETTLE_FUND("NUCC_WECHAT_STAY_SETTLE_FUND", "网联待清算款（微信业务）"),
    NUCC_ALIPAY_STAY_SETTLE_FUND("NUCC_ALIPAY_STAY_SETTLE_FUND", "网联待清算款（支付宝业务）"),
    WECHAT_STAY_SETTLE_FUND("WECHAT_STAY_SETTLE_FUND", "微信待清算款"),
    ALIPAY_STAY_SETTLE_FUND("ALIPAY_STAY_SETTLE_FUND", "支付宝待清算款"),
    CASH_SETTLE_FUND("CASH_SETTLE_FUND", "现金账过渡户"),
    BANK_CUPS_STAY_SETTLE_FUND("BANK_CUPS_STAY_SETTLE_FUND", "总行（银联）待清算款"),
    BANK_NUCC_STAY_SETTLE_FUND("BANK_NUCC_STAY_SETTLE_FUND", "总行（网联）待清算款"),
    AGENT_FEE_PAY_FUND("AGENT_FEE_PAY_FUND", "代理商手续费支出"),
    MOMP_PAY_FUND("MOMP_PAY_FUND", "营销账户支出"),

    WCHT_PAYCHNL_SUBJECT("WCHT_PAYCHNL_SUBJECT", "银联微信渠道户"),
    ALIPAY_PAYCHNL_SUBJECT("ALIPAY_PAYCHNL_SUBJECT", "银联支付宝渠道户"),
    UPQC_PAYCHNL_SUBJECT("UPQC_PAYCHNL_SUBJECT", "银联二维码渠道户"),
    CUPS_PAYCHNL_SUBJECT("CUPS_PAYCHNL_SUBJECT", "银联CUPS渠道户"),
    NCQS_PAYCHNL_SUBJECT("NCQS_PAYCHNL_SUBJECT", "银联无卡快捷渠道户"),
    UPGW_PAYCHNL_SUBJECT("UPGW_PAYCHNL_SUBJECT", "银联网关支付渠道户"),
    UPAC_PAYCHNL_SUBJECT("UPAC_PAYCHNL_SUBJECT", "银联全渠道渠道户"),
    UPAC_COLL_PAYCHNL_SUBJECT("UPAC_COLL_PAYCHNL_SUBJECT", "银联全渠道（代收）渠道户"),
    BANK_PAYCHNL_SUBJECT("BANK_PAYCHNL_SUBJECT", "本行渠道户"),
    CPCN_PAYCHNL_SUBJECT("CPCN_PAYCHNL_SUBJECT", "中金渠道户"),

    COLLECTION_SUBJECT("COLLECTION_SUBJECT", "归集户"),

    MOMP_SUBJECT("MOMP_SUBJECT", "营销户"),
    MOMP_EXPENSE_SUBJECT("MOMP_EXPENSE_SUBJECT", "商城营销支出户"),
    MOMP_INCOME_SUBJECT("MOMP_INCOME_SUBJECT", "商城营销收益户"),
    SCORE_SUBJECT("SCORE_SUBJECT", "积分营销户"),

    MCHNTFAILGZ_SUBJECT("MCHNTFAILGZ_SUBJECT", "商户入账失败挂账户"),
    RISKGZ_SUBJECT("RISKGZ_SUBJECT", "风险资金挂账户"),
    ABNFUNDGZ_SUBJECT("ABNFUNDGZ_SUBJECT", "异常资金挂账户"),

    CUPS_LOGOFEE_SUBJECT("CUPS_LOGOFEE_SUBJECT", "银联品牌服务费支出户"),
    CUPS_PUBLIC_SUBJECT("CUPS_PUBLIC_SUBJECT", "银联对公户"),
    CUPS_SETTLESUBJECT("CUPS_SETTLESUBJECT", "银联清算往来科目"),

    DZ_SUBJECT("DZ_SUBJECT", "垫资户"),
    DS_DZ_SUBJECT("DS_DZ_SUBJECT", "代收垫资户"),
    DF_TRANSITION_SUBJECT("DF_TRANSITION_SUBJECT", "代付过渡户"),

    FEEINCOME_SUBJECT("FEEINCOME_SUBJECT", "机构手续费收入"),
    FEEEXPENSE_SUBJECT("FEEEXPENSE_SUBJECT", "机构手续费支出"),


    ;

    private String settleAcct;
    private String settleAcctDesc;

    SettleAcctTypeEnum(String settleAcct, String settleAcctDesc) {
        this.settleAcct = settleAcct;
        this.settleAcctDesc = settleAcctDesc;
    }

    public String getSettleAcct() {
        return settleAcct;
    }

    public String getSettleAcctDesc() {
        return settleAcctDesc;
    }

    /**
     * 判断数值是否属于枚举类的值
     *
     * @param checkType
     * @return
     */
    public static boolean isInclude(String checkType) {
        boolean include = false;
        for (SettleAcctTypeEnum e : SettleAcctTypeEnum.values()) {
            if (e.getSettleAcct().equals(checkType)) {
                include = true;
                break;
            }
        }
        return include;
    }
}
